package fr.afcepf.ai89.esharing.tests;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import fr.afcepf.ai89.esharing.entity.Aem;
import fr.afcepf.ai89.esharing.entity.CategorieAem;
import fr.afcepf.ai89.esharing.entity.FrCommune;
import fr.afcepf.ai89.esharing.entity.FrDepartement;
import fr.afcepf.ai89.esharing.entity.FrRegion;
import fr.afcepf.ai89.esharing.entity.ImgProprietaire;
import fr.afcepf.ai89.esharing.entity.Proprietaire;
import fr.afcepf.ai89.esharing.entity.Valeur;
import fr.afcepf.ai89.esharing.metier.BusinessRechercheAem;
import fr.afcepf.ai89.esharing.metier.IBusinessRechercheAem;

public class BusinessRechercheAemTest {
	
	public static void main(String[] args) {
		
		/*
		
		IBusinessRechercheAem rechAem = new BusinessRechercheAem();
		
		List<String> motsRecherches = new ArrayList<String>();
		
		// Ajouter les mots à motsRecherches, un par un.
		motsRecherches.add("chocolat");
		// motsRecherches.add("Set de Wok");
		// motsRecherches.add("Centrifugeuse");
		// motsRecherches.add("fondu");
		// motsRecherches.add("pop corn");
		
		String[] aemRecherche = new String[motsRecherches.size()];
		
		aemRecherche = motsRecherches.toArray(aemRecherche);
		
		FrRegion region = new FrRegion();
		FrDepartement departement = new FrDepartement();
		FrCommune commune = new FrCommune();
		Long codePostal = (Long) null;
		Date dateDebut = new Date();
		Date dateFin = new Date();
		CategorieAem categorieAem = new CategorieAem();
		Valeur valeur = new Valeur();
		
		List<Aem> rechercheResultat = rechAem.rechercherAems(aemRecherche, region, departement, commune, codePostal, dateDebut, dateFin, categorieAem, valeur);
		
		for (Aem a : rechercheResultat) {
			System.out.println(a.getIdAem() + " " + a.getMarque().getMarque() + " " + a.getTypeAem().getTypeAem() + " " + a.getDescAem());	
		}

		*/
		
		/*
		
		IBusinessRechercheAem rechAem = new BusinessRechercheAem();
		Aem ficheAem = new Aem();
		
		// ficheAem.setImgAems(null);
		// ficheAem.setTypeAem(new TypeAem());
		// ficheAem.setMarque(new Marque());
		// ficheAem.setDateAjout(new Date());
		// ficheAem.setProprietaire(new Proprietaire());
		
		
		// int nombreFicheAem = rechAem.getFicheAem(idAem); 
		
		// System.out.println(nombreFicheAem);
		
		int idAem = 4;
		Aem ficheAem1 = rechAem.getFicheAem(idAem);
		
		Valeur val = new Valeur();
		
		if (!ficheAem1.getValeurs().isEmpty()) {
			
			val = ficheAem1.getValeurs().get(ficheAem1.getValeurs().size() - 1);
			
		}
		
		System.out.println(ficheAem1.getTypeAem());
		System.out.println(ficheAem1.getMarque());
		System.out.println(ficheAem1.getValeurs());
		System.out.println(ficheAem1.getProprietaire());
		System.out.println(ficheAem1.getDateAjout());
		System.out.println(ficheAem1.getTypeAem().getTypeAem() + "  " + 
							ficheAem1.getMarque().getMarque() + "  " + 
							val.getValeurJournaliere().toString() + "  " +
							ficheAem1.getProprietaire().getNomUtilisateur() + "  " + 
							ficheAem1.getDateAjout()); 
		
		*/
		
		/*
		
		IBusinessRechercheAem getProp = new BusinessRechercheAem();
		Proprietaire ficheProprietaire = new Proprietaire();

		int idProprietaire = 4;
		ficheProprietaire = getProp.getFicheProprietaire(idProprietaire);
			
		System.out.println(ficheProprietaire.getCivilite().getCivilite() + " " + 
							ficheProprietaire.getNomUtilisateur()  + " " + 
							ficheProprietaire.getAutobiographie() + " " + 
							ficheProprietaire.getDateInsciption().toString()  + " " + 
							ficheProprietaire.getFrCodePostalCommune().getFrCommune().getNomCommune() + " " +
							ficheProprietaire.getFrCodePostalCommune().getId().getCodePostal());
					
		for (Aem a : ficheProprietaire.getAems()) {
			
			Valeur val = new Valeur();
			a.setValeurs(getProp.getFicheAem(a.getIdAem()).getValeurs());
			
			if (!a.getValeurs().isEmpty()) {
				
				val = a.getValeurs().get(a.getValeurs().size() - 1);

			}
			else {
				
				val.setValeurJournaliere(null);
				
			}
				
			System.out.println(a.getTypeAem().getTypeAem() + "  " + 
					a.getMarque().getMarque() + "  " + 
					String.valueOf(val.getValeurJournaliere()) + "  " +
					a.getProprietaire().getNomUtilisateur() + "  " + 
					a.getDateAjout()); 
		}
		
		for (ImgProprietaire ip : ficheProprietaire.getImgProprietaires()) {
					
			ImgProprietaire imageProp = new ImgProprietaire();
					
			if (ficheProprietaire.getImgProprietaires().size() > 0) {
						
				imageProp = ficheProprietaire.getImgProprietaires().get(ficheProprietaire.getImgProprietaires().size() - 1);	
			}
			
			System.out.println(ip.getLienImgProprietaire());
		}
		
		*/
		
	}

}
